#include "grp.h"
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

void initGraph(graph_t *gptr, int size){
    gptr->size = size;
    gptr->mat = (int **) malloc(sizeof(int*)*size);
    for (int i=0;i<size;i++) {
        gptr->mat[i] = (int *)malloc(sizeof(int)*size);
        memset(gptr->mat[i], 0, sizeof(int)*size);
    }
}

void freeGraph(graph_t *gptr) {
    for (int i=0;i < gptr->size; i++)
        free(gptr->mat[i]);
    free(gptr->mat);
    gptr->size = 0;
}


void addEdge(graph_t *gptr, int i, int j, int weight) {
    if (i >= gptr->size || j >= gptr->size)
        return;
    gptr->mat[i][j] = weight;
}

void displayMatrix(graph_t *gptr) {
    for (int i = 0; i < gptr->size; i++) {
        for (int j = 0; j < gptr->size; j++)
            printf("%d ", gptr->mat[i][j]);
        printf("\n");
    }
}

